package shanhu;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 用户权益信息
 *
 * @Author: dangxl
 * @Date: 2022/8/24 11:37
 * @Description
 */
@Data
public class RecordTpaDTO {

    /**
     * 权益唯一编码
     */
//    @NotNull(message = "权益唯一编码不能为空")
    @ExcelProperty("权益ID")
    private Long interestId;

    /**
     * 客户姓名
     */
//    @NotBlank(message = "客户姓名不能为空")
    @ExcelProperty("客户姓名")
    private String customerName;

    /**
     * 证件类型（0.身份证 1.护照 2.军官证 3.驾照 4.出生证明 5.户口簿）
     */
//    @NotBlank(message = "证件类型不能为空")
    @ExcelProperty("客户证件类型")
    private String cardType;

    /**
     * 中华部门唯一编号
     */
//    @NotNull(message = "中华部门唯一编号不能为空")
    private Long departmentId;

    /**
     * 证件号码（脱敏）
     */
//    @NotBlank(message = "证件号码不能为空")
    @ExcelProperty("客户证件号")
    private String cardNo;

    /**
     * 联系方式（脱敏）
     */
    @ExcelProperty("客户联系方式")
    private String mobileNum;

    /**
     * 权益生效日期
     */
//    @NotNull(message = "权益生效日期不能为空")
    @ExcelProperty("权益生效日期")
    private String startTime;

    /**
     * 权益截止日期
     */
//    @NotNull(message = "权益截止日期不能为空")
    @ExcelProperty("权益失效日期")
    private String endTime;

    /**
     * 权益创建时间
     */
//    @NotNull(message = "权益创建时间不能为空")
            @ExcelIgnore
    private Date createAt;
//
//    /**
//     * 权益修改时间
//     */
////    @NotNull(message = "权益修改时间不能为空")
@ExcelIgnore
    private Date modifyAt;
//
//    /**
//     * 是否首期 1是 2否(续期)
//     */
@ExcelIgnore
    private Integer isFirst;

    /**
     * 权益归属部门名字
     */
//    @NotBlank(message = "权益归属部门名字不能为空")
    @ExcelProperty("归属部门")
    private String departmentName;

    /**
     * 权益所属服务编号
     */
//    @NotBlank(message = "权益所属服务编号不能为空")
    @ExcelProperty("服务名称")
    private String serviceNo;

    /**
     * 批次号
     */
//    @NotNull(message = "订批次号不能为空")
    private Long batchId;

    /**
     * 推送总条数
     */
//    @NotNull(message = "推送总条数不能为空")
    private Integer pushTotalCount;

    /**
     * 推送总批次
     */
//    @NotNull(message = "推送总批次不能为空")
    private Integer pushTotalBatch;

    /**
     * 推送批次
     */
//    @NotNull(message = "推送批次不能为空")
    private Integer pushBatch;

    /**
     * 推送条数
     */
//    @NotNull(message = "推送条数不能为空")
    private Integer pushCount;

    /**
     * 权益状态（1.未生效  2.有效  3.已使用  4.已过期）
     */
//    @NotNull(message = "权益状态不能为空")
    private Long interestStatus;

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
    }
}
